En este vídeo vamos a enseñar a
verificar que los datos que recibimos
de los bloques sean los correctos.
Primer de todo procederemos a
explicar cómo configurar el bloc
inject. Tenemos varias formas de
hacerlo, una sería haciendo solo un
pulso, es decir, aplicaremos un pulso
cuando le demos al botón de deploy y
se aplicará una señal que recorrerá
todo el flujo de comunicación.
También podremos configurarlo como un
intervalo y podemos poner que cada un
segundo me va a enviar un pulso de
señal. Esto sería una similitud de lo
que vendría a ser una planta
industrial real que va inyectando
datos a cierto periodo de tiempo.
También podríamos hacer el intervalo
a partir de una franja de tiempo o si
no también podríamos hacer inyectar
un pulso a una hora en concreto de un
día en concreto. En este caso primero
vamos a poner solo generar un pulso
para comprobar la verificación de las
dadas que lleguen correctamente.
Primero verificaremos con el bloque
de book de conversión que los datos
que recibimos del bloque function de
conversión sean los correctos. Aquí
vemos que tenemos estos valores, la
variable valor, la variable function
code, unit ID, address y quantity.
Vamos a deshabilitar estos bloques,
le daremos a deploy y como veis ha
inyectado solo un pulso y veis que
aquí el nodo es el de conversión, el
que tenemos habilitado. Y vemos
exactamente que tenemos las mismas
variables que en el bloque function.
En este caso la variable valor es el
timestamp que quiere decir que es la
marca de tiempo del bloque inject. A
continuación verificaremos el segundo
bloque, el bloque Modbus que ya
serían los datos que recibimos del
PLC. Vamos a borrar
para no confundirlo.
Como podéis ver aquí en el bloque de
book de Modbus nos saldrán los datos
que recibimos, que recibimos estos 7
datos. Los recibimos en enteros y
aquí dentro del bloque de procesado
lo que va a hacer es convertir estos
datos enteros en decimales. Los
decimales reales ya transformados con
los parámetros que queremos calcular.
Vamos a hacer lo mismo, bueno este de
momento lo dejo así para poder
comparar con el otro. Deshabilitamos
esto y habilitamos este, volvemos a
inyectar un pulso. Y como veis ahora
estamos en el node de book de
procesado que sería este de aquí que
ya nos sale sombreado en color
naranja. Y si abrimos los datos que
nos salen nos salen que la serie de
datos es la que hemos puesto nosotros
que son datos PLC. Y vemos los 5
parámetros que nos salen, este quinto
parámetro es un parámetro que solo
aparece cuando los datos de RMS son
nuevos. Si por ejemplo ahora queremos
comparar los datos de Modbus con los
procesados, es decir que aparezca
este indicador, podemos cambiar el
timestamp, lo ponemos para que
inyecte durante un intervalo de
tiempo, es decir que cada un segundo
me inyecte un pulso y vamos a ver
cuantas veces nos sale este bloque y
cuantas nos sale este.
Vale perfecto, ahora para
deshabilitarlo le damos aquí abajo
Disable, volvemos a darle el deploy y
analizamos los datos. Como podéis ver
cada un segundo nos inyecta un pulso
y vemos que el bloque de book a cada
segundo nos sale nuevos datos.
Podemos ver que cada un segundo el
bloque de book de Modbus inyecta
nuevos datos del PLC pero que pueden
ser repetidos por eso el bloque de
book de procesado no se actualiza
cada segundo sino que lo hace cada 5
segundos. Eso quiere decir que cada 5
segundos hay un nuevo dato y por lo
tanto obtendremos el dato de
indicador que este es el quinto
parámetro que saldrá cuando hay datos
nuevos.
Ahora para verificar que los datos
que nos aparecen dentro de Node.RED
se nos ponen dentro de nuestra base
de datos, que nuestra base de datos
la hemos especificado aquí, tallaiot.
Podemos ir a nuestra terminal, aquí
vemos que ya estamos conectados a
nuestra máquina virtual y usando este
comando sudo docker exec guion it
aquí debemos poner el nombre del
contenedor de influxdb. Y le ponemos
bash, accedemos, nos saldrá la
contraseña y
ya nos sale para acceder a influx,
ponemos el comando influx y ya vemos
que estamos conectados con el puerto
8086 que seria la base de datos. Aquí
podemos mirar las bases de datos que
tenemos y vemos que tenemos la
internal que esta es una que viene
predefinida y que siempre hay y la
que hemos creado nosotros
antiguamente que se llama tallaiot.
Para usarla le damos a use tallaiot,
nos esta diciendo que la estamos
usando y ahora para ver los datos
introducidos hacemos el siguiente
comando y le ponemos al measurement
que queremos ver, en este caso seria
este, lo voy a hacer grande. Y como
podeis ver tenemos 6 columnas, la
primera que seria el timestamp, es
decir la marca de tiempo en el cual
se ha ejecutado el bloque y luego
tendremos los diferentes parámetros
que se ordenan según orden
alfabético. Si quereis comparar que
estan bien recibidos, por ejemplo nos
vamos a centrar en el ultimo de
todos,
sera el ultimo que se haya puesto en
nuestra base de datos. Y podemos
observar, el indicador es 022195,
genial, kurtosis tenemos 0,0127,
perfecto, del min tenemos 3,07399,
perfecto, rms tenemos 0,1489 y por
ultimo skewness tenemos menos 0,0001.
Asi que podemos verificar que los
datos se introducen correctamente a
nuestra base de datos.